<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
</head>
<body>
    <h3>量词(下)</h3>

    <script>
        //  *   (贪婪)   重复零次或更多    (>=0)
        //  +   (懒惰)   重复一次或更多次  (>=1)
        //  ?   (占有)   重复零次或一次   （0||1）  要么有 要么没有

        //  *   {0, }
        //  +	{1, }
        //  ?	{0, 1}


        // 1. *   {0,}  >=0
        // 以a字符开头和以a字符结束，且a字符出现0次以上
        // var regE01 = /^a{0,}$/;
        var regE01 =/^a*$/;
        var regE05 = /^a*$/;
        var regE06 = /^a{0,}$/;
        var regE07 = /^a{1,}$/;
        var regE08 = /^a?$/;
        var regE09 = /^a{0,1}$/;
        var regE10 = /^a+$/;
        // console.log(regE01.test(""));// true
        // console.log(regE01.test("a"));// true
        // console.log(regE01.test("aa"));// true
        // console.log(regE01.test("aab"));// false
        console.log(regE01.test("aaba"));// false

        // var regE02 = /^a{0,}ba$/;
        // var regE02 = /^a*ba$/;
        // console.log(regE02.test("aaba"));// true

        // 2. +  {1,}  >= 1
        // 以a字符开头和以a字符结束，且a字符出现1次以上
        // var regE03 = /^a+$/;
        // console.log(regE03.test(""));// false
        // console.log(regE03.test("a"));// true
        // console.log(regE03.test("aaa"));// true
        // console.log(regE03.test("aaab"));// false

        // 3.?  {0,1}   >=0 <=1
        // 以a字符开头和以a字符结束，且a字符出现0次 或 1次
        var regE04 = /^a?$/;
        console.log(regE04.test(""));//true
        console.log(regE04.test("a"));//true
        console.log(regE04.test("aa"));// false
        console.log(regE04.test("aaa"));// false


    </script>
</body>
</html>